export function randomExtend(minNum, maxNum) {
    if (arguments.length === 1) {
        return parseInt(Math.random() * minNum + 1, 10)
    } else {
        return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10)
    }
}

export function debounce(delay, callback) {
    let lastTime
    return function() {
        clearTimeout(lastTime)
        const [that, args] = [this, arguments]
        lastTime = setTimeout(() => {
            callback.apply(that, args)
        }, delay);
    }
}

export function observerDomResize(dom, callback) {
    const MutationObsever = window.MutationObserver || window.webKitMutationOberver || window.MozMutationObserver
    const observer = new MutationObsever(callback)
    observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true })
    return observer
}
export function getPointDistance(pointOne, pointTwo) {
    const minusX = Math.abs(pointOne[0] - pointTwo[0])
    const minusY = Math.abs(pointOne[1] - pointTwo[1])
    return Math.sqrt(minusX * minusX + minusY * minusY)
}